Aop with Design Patterns as Meta-programming Operators

نویسنده

  • Uwe Assmann
چکیده

AOP (aspect-oriented programming) is an important new software construction methodology because it allows to specify parts and behaviors of components in a view-based way, i.e. with aspects. While these aspects can be speciied independently from each other, a weaver tool combines them to the nal form of the component. This yields software that is better readable (since speciications are modular) and better reusable (since aspects can be re-combined). We show for an object-oriented setting, how AOP can be performed without weaver tool. The weaving of an aspect into a component (here a class) can be described by an application of a design pattern. Hence design patterns can be used as powerful meta-programming operators that modify components in order to introduce aspects of computations, and to combine several aspects of a component into a single representation. Additionally, the composition can be checked with standard program analysis techniques whether it is harmless, i.e. whether resulting classes still can substitute their unmodiied versions. This immediately has the consequence that the development of a speciic weaver tool is not necessary.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Design Patterns Revisited

Design patterns are general solutions for recurring problems and used to develop flexible, reusable and modular software with Object-Oriented Programming (OOP). Prior studies have shown a lack of modularity in object-oriented design patterns. AspectOriented Programming (AOP) aims at improving flexibility, reusability, and modularity in object-oriented designs. In a case study Hannemann and Kicz...

متن کامل

Using AOP to Improve Design Patterns Modularity

The way Design Patterns (DP) are implemented may affect the modularity of a software system, due to some typical deficiencies of Object Oriented (OO) languages. Aspect Oriented Programming (AOP) provide patterns’ developers with powerful quantification constructs to better handle modularity and composition and to overcome some of the OO design trade-offs in current DP implementations. In this p...

متن کامل

Using Design Patterns as Indicators of Refactoring Opportunities (to Aspects)

In this position paper, we argue that traditional object-oriented design patterns can be regarded as workarounds for limitations in current programming languages, including crosscutting concerns. Aspect-oriented programming (AOP) is able to modularise crosscutting concerns and overcomes many of the limitations. To illustrate, we mention a few examples. We describe several situations in which pa...

متن کامل

On the Role of Interceptors and AOP in Adapting CORBA Applications

∗ This work is partially supported by the Brazilian Agency CNPq project 552007/2002-1. Abstract. In this paper we describe two meta-programming strategies that have been used to extend CORBA-based applications with minimal or no impact on existing application code: CORBA interceptors and aspect-oriented programming (AOP). We compare the benefits of using AOP with those of exploiting interceptor...

متن کامل

A classification of invasive patterns in AOP

Aspect-Oriented Programming (AOP) improves modularity by encapsulating crosscutting concerns into aspects. Some mechanisms to compose aspects allow invasiveness as a mean to integrate concerns. Invasiveness means that AOP languages have unrestricted access to program properties. Such kind of languages are interesting because they allow performing complex operations and better introduce function...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 1997